package priv.conceit.sc.hoxton.common.entity.file.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import priv.conceit.sc.hoxton.common.constant.file.FileSourceEnum;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author conceit
 * @since 2020-11-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class File implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 文件短编码-唯一不重复
     */
    private String shortCode;

    /**
     * 文件提交名
     */
    private String originalName;

    /**
     * 文件保存名
     */
    private String savedName;

    /**
     * 12位kb约等于931GB
     */
    private Long size;

    /**
     * 大小的单位 B KB MB GB TB
     */
    private String sizeUnit;

    /**
     * content type
     */
    private String contentType;

    /**
     * 创建人
     */
    private String createUserId;

    private LocalDateTime createTime;

    /**
     * 文件来源对应的key 本地或者类似minio的第三方服务
     * {@linkplain FileSourceEnum}
     */
    private Integer sourceKey;

    /**
     * 文件后缀
     */
    private String suffix;


}
